package com.itfenghuang.day03;

public class A02_数组 {
    public static void main(String[] args) {

//  1.数组:  一种容器,用于存储同一个种数据类型的多个数据
//                    数组一旦创建,长度是固定的
//        int[] arr={1,2,3,4,5};
//        System.out.println(arr);
//  2.定义数组  char 一个字符单引号

//        数据类型[] 变量名;    char[] ch={'1','s','2'};推荐使用
//        数据类型 变量名[];    char ch[]={'1','2','3'};

//  3.初始化数组
//    初始化: 在内存中开辟一块空间然后给其赋值的过程

//  4.静态初始化数组 会根据值的个数去计算数组的长度
//    int[] arr=new int[]{1,2,3,4,5,};
//        int[] arr={1,2,3,4,5};//推荐写法
//        System.out.println(arr);
//  5.动态初始化数组
//    int[] arr=new int[5];
//    arr[1]=2;
//    arr[2]=5;
//    arr[3]=9;
//    arr[4]=20;
//        System.out.println(arr);

//  6.直接打印 数组 输出. [I@1b6d3586
//        [ :           表示 数组
//        I :           数组里面存的int类型
//        @ :           分割符
//        1b6d3586 ;    十六进制的 内存地址

//  7.通过下标 遍历 数组
//    int[] arr=new int[]{1,2,3,4,5,};
//        int[] arr={1,2,3,4,5,};
//    for(int i=0;i<arr.length;i++){
//        System.out.println(arr[i]);
//    }

//  8. 通过下标 获取某个元素 或者 修改某个元素
//        int[] arr={2,3,4,5,1};
//        arr[2]=666;
//        System.out.println(arr[2]);
//  9.练习 交换元素
//        int aa=10;
//        int bb=20;
//        int temp=aa;
//        aa=bb;
//        bb=temp;
//        System.out.println(bb);


//  10.将下面数组反转,71632
        int[] arr={2,3,6,1,7};
        int f1=0;
        int f2=arr.length-1;
        for ( ; f1<f2;  f1++,f2-- ){
            int temp=arr[f1];
            arr[f1]=arr[f2];
            arr[f2]=temp;
        }
        for (int i=0;i<arr.length;  i++ ){
            System.out.println(arr[i]);
        }



//  11.数组在内存中存储过程 重要
//        内存中三个非常重要的位置
//        1.栈:          基本数据类型 和 引用数据类型的变量会保存在栈中
//        2.堆:          new 出来的对象都保存在堆中
//        3.方法区:      加载我们的 字节码(.class)文件

//  12.动态创建数组时,数组中的默认值
//          整数默认值   int        0
//          小数默认值   float      0.0
//          字符类型默认值       空字符
//          引用数据类型默认值   null
//          布尔类型默认值       false
//        int[] arr = new int[3];
//        float[] arr = new float[3];
//        char[] arr = new char[3];
//        String[] arr = new String[3];
//        boolean[] arr = new boolean[3];

//        for (int i = 0; i <arr.length; i++) {
//            System.out.println(arr[i]);
//        }
//  13.二维数组  数组的元素是 数组
//        int[][] arr=new int[4][3];
////        int[][] arr={{2,3,4},{4,2,444},{5,2,22}};
//        int[] xx=arr[2];
//        System.out.println(xx[2]);
//        或者
//        System.out.println(arr[1][2]);



//        交换元素
//        int temp=arr[1][2];
//        arr[1][2]=arr[2][1];
//        arr[2][1]=temp;
//        System.out.println(temp);

//        双重for循环 正序遍历
//        int[][] arr={{2,3,4},{4,2,444},{5,2,22}};
//        for (int i = 0; i <arr.length ; i++) {
//            for (int j=0;j<arr[i].length;j++){
//                System.out.println(arr[i][j]);
//            }
//        }

//        1.数组
//        2.输入 输出  数组的遍历
//        3.考试题不会的去做一遍
//        4.数据库50个题做至少2个
//        5.控制结构练习






    }
}
